<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/linux/poison.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/linux/poison.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0xJTlVYX1BPSVNPTl9IXzA_"><span class="b">_LINUX_POISON_H</span></a>
<a name="2" /><span class="True">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0xJTlVYX1BPSVNPTl9IXzA_"><span class="b">_LINUX_POISON_H</span></a>
<a name="3" /><span class="True">       3:</span> 
<a name="4" /><span class="True">       4:</span> <span class="k">/********** include/linux/list.h **********/</span>
<a name="5" /><span class="True">       5:</span> 
<a name="6" /><span class="True">       6:</span> <span class="k">/*</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * Architectures might want to move the poison pointer offset</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * into some well-recognized area such as 0xdead000000000000,</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> * that is also not mappable by user-space exploits:</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> */</span>
<a name="11" /><span class="True">      11:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX0lMTEVHQUxfUE9JTlRFUl9WQUxVRV8w"><span class="b">CONFIG_ILLEGAL_POINTER_VALUE</span></a>
<a name="12" /><span class="True">      12:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_ref.html#_UE9JU09OX1BPSU5URVJfREVMVEFfMA__"><span class="b">POISON_POINTER_DELTA</span></a> <a href="cpu.c_macros_ref.html#_X0FDXzA_"><span class="b">_AC</span></a><span class="f">(</span><a href="cpu.c_macros_ref.html#_Q09ORklHX0lMTEVHQUxfUE9JTlRFUl9WQUxVRV8w"><span class="b">CONFIG_ILLEGAL_POINTER_VALUE</span></a><span class="f">,</span> <span class="b">UL</span><span class="f">)</span>
<a name="13" /><span class="False">      13:</span> <span class="f">#</span><span class="n">else</span>
<a name="14" /><span class="False">      14:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_ref.html#_UE9JU09OX1BPSU5URVJfREVMVEFfMA__"><span class="b">POISON_POINTER_DELTA</span></a> <span class="c">0</span>
<a name="15" /><span class="True">      15:</span> <span class="f">#</span><span class="n">endif</span>
<a name="16" /><span class="True">      16:</span> 
<a name="17" /><span class="True">      17:</span> <span class="k">/*</span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * These are non-NULL pointers that will result in page faults</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> * under normal circumstances, used to verify that nobody uses</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * non-initialized list entries.</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> */</span>
<a name="22" /><span class="True">      22:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_TElTVF9QT0lTT04xXzA_"><span class="b">LIST_POISON1</span></a>  <span class="f">(</span><span class="f">(</span><span class="m">void</span> <span class="f">*</span><span class="f">)</span> <span class="c">0x00100100</span> <span class="f">+</span> <a href="cpu.c_macros_ref.html#_UE9JU09OX1BPSU5URVJfREVMVEFfMA__"><span class="b">POISON_POINTER_DELTA</span></a><span class="f">)</span>
<a name="23" /><span class="True">      23:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_TElTVF9QT0lTT04yXzA_"><span class="b">LIST_POISON2</span></a>  <span class="f">(</span><span class="f">(</span><span class="m">void</span> <span class="f">*</span><span class="f">)</span> <span class="c">0x00200200</span> <span class="f">+</span> <a href="cpu.c_macros_ref.html#_UE9JU09OX1BPSU5URVJfREVMVEFfMA__"><span class="b">POISON_POINTER_DELTA</span></a><span class="f">)</span>
<a name="24" /><span class="True">      24:</span> 
<a name="25" /><span class="True">      25:</span> <span class="k">/********** include/linux/timer.h **********/</span>
<a name="26" /><span class="True">      26:</span> <span class="k">/*</span>
<a name="27" /><span class="True">      27:</span> <span class="k"> * Magic number &quot;tsta&quot; to indicate a static timer initializer</span>
<a name="28" /><span class="True">      28:</span> <span class="k"> * for the object debugging code.</span>
<a name="29" /><span class="True">      29:</span> <span class="k"> */</span>
<a name="30" /><span class="True">      30:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_VElNRVJfRU5UUllfU1RBVElDXzA_"><span class="b">TIMER_ENTRY_STATIC</span></a>    <span class="f">(</span><span class="f">(</span><span class="m">void</span> <span class="f">*</span><span class="f">)</span> <span class="c">0x74737461</span><span class="f">)</span>
<a name="31" /><span class="True">      31:</span> 
<a name="32" /><span class="True">      32:</span> <span class="k">/********** mm/debug-pagealloc.c **********/</span>
<a name="33" /><span class="True">      33:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9QT0lTT05fMA__"><span class="b">PAGE_POISON</span></a> <span class="c">0xaa</span>
<a name="34" /><span class="True">      34:</span> 
<a name="35" /><span class="True">      35:</span> <span class="k">/********** mm/slab.c **********/</span>
<a name="36" /><span class="True">      36:</span> <span class="k">/*</span>
<a name="37" /><span class="True">      37:</span> <span class="k"> * Magic nums for obj red zoning.</span>
<a name="38" /><span class="True">      38:</span> <span class="k"> * Placed in the first word before and the first word after an obj.</span>
<a name="39" /><span class="True">      39:</span> <span class="k"> */</span>
<a name="40" /><span class="True">      40:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UkVEX0lOQUNUSVZFXzA_"><span class="b">RED_INACTIVE</span></a>    <span class="c">0x09F911029D74E35BULL</span>    <span class="k">/* when obj is inactive */</span>
<a name="41" /><span class="True">      41:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UkVEX0FDVElWRV8w"><span class="b">RED_ACTIVE</span></a>    <span class="c">0xD84156C5635688C0ULL</span>    <span class="k">/* when obj is active */</span>
<a name="42" /><span class="True">      42:</span> 
<a name="43" /><span class="True">      43:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U0xVQl9SRURfSU5BQ1RJVkVfMA__"><span class="b">SLUB_RED_INACTIVE</span></a>    <span class="c">0xbb</span>
<a name="44" /><span class="True">      44:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U0xVQl9SRURfQUNUSVZFXzA_"><span class="b">SLUB_RED_ACTIVE</span></a>        <span class="c">0xcc</span>
<a name="45" /><span class="True">      45:</span> 
<a name="46" /><span class="True">      46:</span> <span class="k">/* ...and for poisoning */</span>
<a name="47" /><span class="True">      47:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UE9JU09OX0lOVVNFXzA_"><span class="b">POISON_INUSE</span></a>    <span class="c">0x5a</span>    <span class="k">/* for use-uninitialised poisoning */</span>
<a name="48" /><span class="True">      48:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UE9JU09OX0ZSRUVfMA__"><span class="b">POISON_FREE</span></a>    <span class="c">0x6b</span>    <span class="k">/* for use-after-free poisoning */</span>
<a name="49" /><span class="True">      49:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UE9JU09OX0VORF8w"><span class="b">POISON_END</span></a>    <span class="c">0xa5</span>    <span class="k">/* end-byte of poisoning */</span>
<a name="50" /><span class="True">      50:</span> 
<a name="51" /><span class="True">      51:</span> <span class="k">/********** arch/$ARCH/mm/init.c **********/</span>
<a name="52" /><span class="True">      52:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UE9JU09OX0ZSRUVfSU5JVE1FTV8w"><span class="b">POISON_FREE_INITMEM</span></a>    <span class="c">0xcc</span>
<a name="53" /><span class="True">      53:</span> 
<a name="54" /><span class="True">      54:</span> <span class="k">/********** arch/ia64/hp/common/sba_iommu.c **********/</span>
<a name="55" /><span class="True">      55:</span> <span class="k">/*</span>
<a name="56" /><span class="True">      56:</span> <span class="k"> * arch/ia64/hp/common/sba_iommu.c uses a 16-byte poison string with a</span>
<a name="57" /><span class="True">      57:</span> <span class="k"> * value of &quot;SBAIOMMU POISON\0&quot; for spill-over poisoning.</span>
<a name="58" /><span class="True">      58:</span> <span class="k"> */</span>
<a name="59" /><span class="True">      59:</span> 
<a name="60" /><span class="True">      60:</span> <span class="k">/********** fs/jbd/journal.c **********/</span>
<a name="61" /><span class="True">      61:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SkJEX1BPSVNPTl9GUkVFXzA_"><span class="b">JBD_POISON_FREE</span></a>        <span class="c">0x5b</span>
<a name="62" /><span class="True">      62:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SkJEMl9QT0lTT05fRlJFRV8w"><span class="b">JBD2_POISON_FREE</span></a>    <span class="c">0x5c</span>
<a name="63" /><span class="True">      63:</span> 
<a name="64" /><span class="True">      64:</span> <span class="k">/********** drivers/base/dmapool.c **********/</span>
<a name="65" /><span class="True">      65:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UE9PTF9QT0lTT05fRlJFRURfMA__"><span class="b">POOL_POISON_FREED</span></a>    <span class="c">0xa7</span>    <span class="k">/* !inuse */</span>
<a name="66" /><span class="True">      66:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UE9PTF9QT0lTT05fQUxMT0NBVEVEXzA_"><span class="b">POOL_POISON_ALLOCATED</span></a>    <span class="c">0xa9</span>    <span class="k">/* !initted */</span>
<a name="67" /><span class="True">      67:</span> 
<a name="68" /><span class="True">      68:</span> <span class="k">/********** drivers/atm/ **********/</span>
<a name="69" /><span class="True">      69:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QVRNX1BPSVNPTl9GUkVFXzA_"><span class="b">ATM_POISON_FREE</span></a>        <span class="c">0x12</span>
<a name="70" /><span class="True">      70:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QVRNX1BPSVNPTl8w"><span class="b">ATM_POISON</span></a>        <span class="c">0xdeadbeef</span>
<a name="71" /><span class="True">      71:</span> 
<a name="72" /><span class="True">      72:</span> <span class="k">/********** net/ **********/</span>
<a name="73" /><span class="True">      73:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TkVJR0hCT1JfREVBRF8w"><span class="b">NEIGHBOR_DEAD</span></a>        <span class="c">0xdeadbeef</span>
<a name="74" /><span class="True">      74:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TkVURklMVEVSX0xJTktfUE9JU09OXzA_"><span class="b">NETFILTER_LINK_POISON</span></a>    <span class="c">0xdead57ac</span>
<a name="75" /><span class="True">      75:</span> 
<a name="76" /><span class="True">      76:</span> <span class="k">/********** kernel/mutexes **********/</span>
<a name="77" /><span class="True">      77:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TVVURVhfREVCVUdfSU5JVF8w"><span class="b">MUTEX_DEBUG_INIT</span></a>    <span class="c">0x11</span>
<a name="78" /><span class="True">      78:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TVVURVhfREVCVUdfRlJFRV8w"><span class="b">MUTEX_DEBUG_FREE</span></a>    <span class="c">0x22</span>
<a name="79" /><span class="True">      79:</span> 
<a name="80" /><span class="True">      80:</span> <span class="k">/********** lib/flex_array.c **********/</span>
<a name="81" /><span class="True">      81:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RkxFWF9BUlJBWV9GUkVFXzA_"><span class="b">FLEX_ARRAY_FREE</span></a>    <span class="c">0x6c</span>    <span class="k">/* for use-after-free poisoning */</span>
<a name="82" /><span class="True">      82:</span> 
<a name="83" /><span class="True">      83:</span> <span class="k">/********** security/ **********/</span>
<a name="84" /><span class="True">      84:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_S0VZX0RFU1RST1lfMA__"><span class="b">KEY_DESTROY</span></a>        <span class="c">0xbd</span>
<a name="85" /><span class="True">      85:</span> 
<a name="86" /><span class="True">      86:</span> <span class="k">/********** sound/oss/ **********/</span>
<a name="87" /><span class="True">      87:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_T1NTX1BPSVNPTl9GUkVFXzA_"><span class="b">OSS_POISON_FREE</span></a>        <span class="c">0xAB</span>
<a name="88" /><span class="True">      88:</span> 
<a name="89" /><span class="True">      89:</span> <span class="f">#</span><span class="n">endif</span>
<a name="90" /><span class="True">      90:</span> </pre>
  </body>
</html>
